package frames.listos;

import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JSeparator;
import javax.swing.JTextField;
import javax.swing.WindowConstants;

import controlador.Sistema;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Vector;

import javax.swing.*;


import negocio.ControlCambio;
import negocio.Sede;
import negocio.Vehiculo;

/**
* This code was edited or generated using CloudGarden's Jigloo
* SWT/Swing GUI Builder, which is free for non-commercial
* use. If Jigloo is being used commercially (ie, by a corporation,
* company or business for any purpose whatever) then you
* should purchase a license for each developer using Jigloo.
* Please visit www.cloudgarden.com for details.
* Use of Jigloo implies acceptance of these licensing terms.
* A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR
* THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED
* LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE.
*/

public class BajaVehiculoFrame extends JFrame {
	
	private JMenuItem mnSalir;	
	private JSeparator sep;
	private JMenu mnAdmV;
	private JMenuItem mnAltaVeh;
	private JMenuItem mnBajaVeh;
	private JMenuItem mnModVeh;
	private JMenu mnAdmT;
	private JMenuItem mnAltaTec;
	private JMenuItem mnBajaTec;
	private JMenuItem mnModTec;
	private JMenu mnMov;
	private JMenuItem mnRegisMov;	
	private JMenu mnMant;
	private JMenuBar menuBar;
	private JButton btnCancelar;
	private JTextField jDominio;
	private JButton btnAceptar;
	private JLabel lblLogo;
	private Sistema sist;
	private JMenuItem mnGenRep;
	private JMenu mnAbout;
	private JMenuItem mnVersion;	
	private JMenuItem mnGenMant;
	private JMenuItem mnAutMant;
	private JMenu mnReports;
	private JLabel jLabel1;
	private JLabel lblDominio;
	private JLabel lblKmsi;
	private JLabel lblKms;
	private JLabel lblEstadoAct;
	private JLabel lblEstado;
	private JTextField txtDominio;
	private JTextField txtKmsi;
	private JTextField txtKms;
	private JTextField txtTipo;
	private JComboBox cmbEstadoAct;
	private JComboBox cmbEstado;
	private JComboBox cmbNroSedeAct;
	private JLabel lblNroSede;
	private JLabel lblEnViaje;
	private JLabel lblNroSedeAct;
	private JComboBox cmbEnViaje;
	private JComboBox cmbNroSede;
	private JComboBox cmbCombustible;
	private JButton btnBuscar;
	private JLabel lblCombustible;
	private JTextField txtModelo;
	private JLabel lblModelo;
	private JLabel lblGasto;
	private JLabel jTipo;
	private JTextField txtGasto;
	private Vehiculo v;
	
	public BajaVehiculoFrame()
	{
		super();
		initGUI();
	}
	private void initGUI() {
		try {
				sist=Sistema.getInstance();
				setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
				getContentPane().setBackground(new java.awt.Color(255,255,255));
				this.setIconImage(new ImageIcon(getClass().getClassLoader().getResource("mgasbar.png")).getImage());
				getContentPane().setLayout(null);
				this.setTitle("MetroGas");
				{/*
					BufferedImage myPicture = ImageIO.read(new File("mgas.png"));
					lblLogo = new JLabel(new ImageIcon(myPicture));
					getContentPane().add(lblLogo);
					lblLogo.setBackground(new java.awt.Color(0,64,0));
					lblLogo.setBounds(429, 121, 150, 65);*/
				}
				getContentPane().setLayout(null);
				{
					lblDominio = new JLabel();
					getContentPane().add(lblDominio);
					lblDominio.setText("Dominio:");
					lblDominio.setBounds(69, 55, 68, 15);
				}
				{
					lblKmsi = new JLabel();
					getContentPane().add(lblKmsi);
					lblKmsi.setText("Kms Iniciales:");
					lblKmsi.setBounds(69, 82, 82, 15);
				}
				{
					lblKms = new JLabel();
					getContentPane().add(lblKms);
					lblKms.setText("Kms:");
					lblKms.setBounds(69, 109, 44, 15);
				}
				{
					jTipo = new JLabel();
					getContentPane().add(jTipo);
					jTipo.setText("Tipo:");
					jTipo.setBounds(433, 107, 78, 22);
				}
				{
					txtTipo = new JTextField();
					getContentPane().add(txtTipo);
					txtTipo.setBounds(518, 112, 121, 20);
					txtTipo.setEnabled(false);
				}
				{
					lblEstadoAct = new JLabel();
					getContentPane().add(lblEstadoAct);
					lblEstadoAct.setText("Estado Actual:");
					lblEstadoAct.setBounds(69, 163, 82, 15);
				}
				{
					lblEstado = new JLabel();
					getContentPane().add(lblEstado);
					lblEstado.setText("Estado Activo:");
					lblEstado.setBounds(69, 190, 82, 15);
				}
				{
					txtDominio = new JTextField();
					getContentPane().add(txtDominio);
					txtDominio.setText("");
					txtDominio.setBounds(157, 50, 127, 25);
				}
				{
					txtKmsi = new JTextField();
					getContentPane().add(txtKmsi);
					txtKmsi.setText("");
					txtKmsi.setBounds(157, 78, 127, 22);
					txtKmsi.setEnabled(false);
				}
				{
					txtKms = new JTextField();
					getContentPane().add(txtKms);
					txtKms.setText("");
					txtKms.setBounds(157, 105, 127, 22);
					txtKms.setEnabled(false);
				}
				
				{
//					ComboBoxModel cmbEstadoAct = 
//							new DefaultComboBoxModel(
//									new String[] { "Estado Actual" });
					cmbEstadoAct = new JComboBox();
					cmbEstadoAct.addItem("Estado Actual");
					cmbEstadoAct.addItem("En Sede");
					cmbEstadoAct.addItem("Fuera Sede");
					getContentPane().add(cmbEstadoAct);
//					cmbEstadoAct.setModel(cmbEstadoAct);
					cmbEstadoAct.setBounds(157, 159, 127, 22);
					cmbEstadoAct.setEnabled(false);
				}
				{
//					ComboBoxModel cmbEstadoModel = 
//							new DefaultComboBoxModel(
//									new String[] { "Estado" , "Activa" , "Inactiva" });
					cmbEstado = new JComboBox();
					cmbEstado.addItem("Estado");
					cmbEstado.addItem("Si");
					cmbEstado.addItem("No");
					cmbEstado.setEnabled(false);
					getContentPane().add(cmbEstado);
//					cmbEstado.setModel(cmbEstadoModel);
					cmbEstado.setBounds(157, 186, 127, 22);
				}
				{
					lblNroSede = new JLabel();
					getContentPane().add(lblNroSede);
					lblNroSede.setText("Sede Base:");
					lblNroSede.setBounds(69, 217, 68, 15);
				}
				{
					lblNroSedeAct = new JLabel();
					getContentPane().add(lblNroSedeAct);
					lblNroSedeAct.setText("Sede Actual:");
					lblNroSedeAct.setBounds(69, 244, 62, 15);
				}
				{
					lblEnViaje = new JLabel();
					getContentPane().add(lblEnViaje);
					lblEnViaje.setText("En Viaje:");
					lblEnViaje.setBounds(69, 271, 42, 15);
				}
				{
//					ComboBoxModel cmbNroSedeModel = 
//							new DefaultComboBoxModel(
//									new String[] { "Item One", "Item Two" });
					cmbNroSede = new JComboBox(sist.getSedes());
					getContentPane().add(cmbNroSede);
//					cmbNroSede.setModel(cmbNroSedeModel);
					cmbNroSede.setBounds(157, 213, 127, 22);
					cmbNroSede.setEnabled(false);
				}
				{
//					ComboBoxModel cmbNroSedeActModel = 
//							new DefaultComboBoxModel(
//									new String[] { "Item One", "Item Two" });
					cmbNroSedeAct = new JComboBox(sist.getSedes());
					getContentPane().add(cmbNroSedeAct);
//					cmbNroSedeAct.setModel(cmbNroSedeActModel);
					cmbNroSedeAct.setBounds(157, 240, 127, 22);
					cmbNroSedeAct.setEnabled(false);
				}
				{
//					ComboBoxModel cmbEnViajeModel = 
//							new DefaultComboBoxModel(
//									new String[] { "Item One", "Item Two" });
					cmbEnViaje = new JComboBox();
					cmbEnViaje.addItem("En Viaje");
					cmbEnViaje.addItem("Si");
					cmbEnViaje.addItem("No");
					cmbEnViaje.setEnabled(false);
					getContentPane().add(cmbEnViaje);
//					cmbEnViaje.setModel(cmbEnViajeModel);
					cmbEnViaje.setBounds(157, 267, 127, 22);
				}
				{
					lblCombustible = new JLabel();
					getContentPane().add(lblCombustible);
					lblCombustible.setText("Combustible:");
					lblCombustible.setBounds(429, 55, 61, 15);
				}
				{
//					ComboBoxModel cmbCombustibleModel = 
//							new DefaultComboBoxModel(
//									new String[] { "Item One", "Item Two" });
					cmbCombustible = new JComboBox();
					cmbCombustible.addItem("Combustible");
					cmbCombustible.addItem("Nafta");
					cmbCombustible.addItem("Gasoil");
					cmbCombustible.setEnabled(false);
					getContentPane().add(cmbCombustible);
//					cmbCombustible.setModel(cmbCombustibleModel);
					cmbCombustible.setBounds(518, 51, 121, 22);
				}
				{
					lblGasto = new JLabel();
					getContentPane().add(lblGasto);
					lblGasto.setText("Gasto:");
					lblGasto.setBounds(429, 82, 32, 15);
				}
				{
					txtGasto = new JTextField();
					getContentPane().add(txtGasto);
					txtGasto.setBounds(518, 78, 121, 22);
					txtGasto.setEnabled(false);
				}
				{
					lblModelo = new JLabel();
					getContentPane().add(lblModelo);
					lblModelo.setText("Modelo:");
					lblModelo.setBounds(429, 217, 37, 15);
				}
				{
					txtModelo = new JTextField();
					getContentPane().add(txtModelo);
					txtModelo.setBounds(518, 213, 121, 22);
					txtModelo.setEnabled(false);
				}
				{
					btnBuscar = new JButton();
					getContentPane().add(btnBuscar);
					btnBuscar.setText("Buscar");
					btnBuscar.setBounds(290, 51, 75, 22);
					btnBuscar.addActionListener(new ActionListener() {
						public void actionPerformed(ActionEvent evt) {						
							v = sist.buscarVehiculo(txtDominio.getText());
							if(v != null){
								txtDominio.setEnabled(false);
								cmbCombustible.setSelectedItem(v.getCombustible());
								cmbCombustible.setEnabled(true);
								txtGasto.setText(String.valueOf(v.getGastos()));
								txtGasto.setEnabled(true);
								txtKmsi.setText(String.valueOf(v.getKmsi()));
								txtKmsi.setEnabled(true);
								txtKms.setText(String.valueOf(v.getKms()));
								txtKms.setEnabled(true);
								txtModelo.setText(v.getModelo());
								txtModelo.setEnabled(true);
								cmbNroSede.setSelectedItem(v.getSede());
								cmbNroSede.setEnabled(true);
								cmbNroSedeAct.setSelectedItem(v.getSedeAct());
								cmbNroSedeAct.setEnabled(true);
								txtTipo.setText(v.getTipo());
								txtTipo.setEnabled(true);
								if(v.isEstadoAct())
									cmbEstadoAct.setSelectedIndex(2);
								else
									cmbEstadoAct.setSelectedIndex(3);
								cmbEstadoAct.setEnabled(true);
								if(v.isEstado())
									cmbEstado.setSelectedIndex(2);
								else
									cmbEstado.setSelectedIndex(3);
								cmbEstado.setEnabled(true);
								if(v.isEnViaje())
									cmbEnViaje.setSelectedIndex(2);
								else
									cmbEnViaje.setSelectedIndex(3);
								cmbEnViaje.setEnabled(true);
								btnAceptar.setEnabled(true);
							}
										
							
						}
					});
				}
				{
					btnAceptar = new JButton();
					getContentPane().add(btnAceptar);
					btnAceptar.setText("Aceptar");
					btnAceptar.setBounds(429, 276, 71, 22);
					btnAceptar.setEnabled(false);
					btnAceptar.addActionListener(new ActionListener() {
						public void actionPerformed(ActionEvent evt) {
							java.util.Date fechaU = new java.util.Date();
							java.sql.Date fechaSQL = new java.sql.Date(fechaU.getTime()); 
							ControlCambio cc=new ControlCambio(sist.getLogins(),"Vehiculo","DOMINIO:"+txtDominio.getText(),"Eliminado",fechaSQL);
							sist.guardarControlCambio(cc);		
							sist.eliminarVehiculo(txtDominio.getText());
							Toolkit.getDefaultToolkit().beep();
							JOptionPane.showMessageDialog(null, "El Vehiculo se elimino satisfactoriamente", "Aviso", JOptionPane.INFORMATION_MESSAGE);	
							
						}
					});
				}
				{
					btnCancelar = new JButton();
					getContentPane().add(btnCancelar);
					btnCancelar.setText("Cancelar");
					btnCancelar.setBounds(512, 276, 71, 22);
					btnCancelar.addActionListener(new ActionListener() {
						public void actionPerformed(ActionEvent evt) {
							MenuFrame asd=new MenuFrame();
							dispose();
							
						}
					});
				}			
				{
					menuBar = new JMenuBar();
					setJMenuBar(menuBar);
					{
						mnAdmV = new JMenu();
						menuBar.add(mnAdmV);
						mnAdmV.setText("Administrar Vehiculo");
						{
							mnAltaVeh = new JMenuItem();
							mnAdmV.add(mnAltaVeh);
							mnAltaVeh.setText("Alta");
							mnAltaVeh.addActionListener(new ActionListener() {
								public void actionPerformed(ActionEvent evt) {
									if(sist.getLogins().getTipoUsuario().equals("GUARDIA") || sist.getLogins().getTipoUsuario().equals("TECNICO")
											|| sist.getLogins().getTipoUsuario().equals("AUDITORIA"))
									{
										Container d=getContentPane();
										JOptionPane.showMessageDialog(d,"No tiene acceso","Error",JOptionPane.ERROR_MESSAGE);
									}else
									{
										AltaVehiculoFrame a = new AltaVehiculoFrame();
										a.setLocationRelativeTo(null);
										dispose();
									}
									
									
								}
							});
						}
						{
							sep = new JSeparator();
							mnAdmV.add(sep);
						}
						{
							mnBajaVeh = new JMenuItem();
							mnAdmV.add(mnBajaVeh);
							mnBajaVeh.setText("Baja");
							mnBajaVeh.addActionListener(new ActionListener() {
								public void actionPerformed(ActionEvent evt) {
									if(sist.getLogins().getTipoUsuario().equals("GUARDIA") || sist.getLogins().getTipoUsuario().equals("TECNICO")
											|| sist.getLogins().getTipoUsuario().equals("AUDITORIA"))
									{
										Container d=getContentPane();
										JOptionPane.showMessageDialog(d,"No tiene acceso","Error",JOptionPane.ERROR_MESSAGE);
									}else
									{
										BajaVehiculoFrame a = new BajaVehiculoFrame();
										a.setLocationRelativeTo(null);
										dispose();
									}
								}
							});
						}
						{
							sep = new JSeparator();
							mnAdmV.add(sep);
						}
						{
							mnModVeh = new JMenuItem();
							mnAdmV.add(mnModVeh);
							mnModVeh.setText("Modificar");
							mnModVeh.addActionListener(new ActionListener() {
								public void actionPerformed(ActionEvent evt) {
									
									if(sist.getLogins().getTipoUsuario().equals("GUARDIA") || sist.getLogins().getTipoUsuario().equals("TECNICO")
											|| sist.getLogins().getTipoUsuario().equals("AUDITORIA"))
									{
										Container d=getContentPane();
										JOptionPane.showMessageDialog(d,"No tiene acceso","Error",JOptionPane.ERROR_MESSAGE);
									}else
									{
										ModVehiculoFrame a = new ModVehiculoFrame();
										a.setLocationRelativeTo(null);
										dispose();
									}
								}
							});
						}					
					}
					{
						mnAdmT = new JMenu();
						menuBar.add(mnAdmT);
						mnAdmT.setText("Administrar Tecnico");
						{
							mnAltaTec = new JMenuItem();
							mnAdmT.add(mnAltaTec);
							mnAltaTec.setText("Alta");
							mnAltaTec.addActionListener(new ActionListener() {
								public void actionPerformed(ActionEvent evt) {
									
									if(sist.getLogins().getTipoUsuario().equals("GUARDIA") || sist.getLogins().getTipoUsuario().equals("TECNICO")
											|| sist.getLogins().getTipoUsuario().equals("AUDITORIA"))
									{
										Container d=getContentPane();
										JOptionPane.showMessageDialog(d,"No tiene acceso","Error",JOptionPane.ERROR_MESSAGE);
									}else
									{
										AltaTecnicoFrame a = new AltaTecnicoFrame();
										a.setLocationRelativeTo(null);
										dispose();
									}
								}
							});
						}
						{
							sep = new JSeparator();
							mnAdmT.add(sep);
						}
						{
							mnBajaTec = new JMenuItem();
							mnAdmT.add(mnBajaTec);
							mnBajaTec.setText("Baja");
							mnBajaTec.addActionListener(new ActionListener() {
								public void actionPerformed(ActionEvent evt) {
									

									if(sist.getLogins().getTipoUsuario().equals("GUARDIA") || sist.getLogins().getTipoUsuario().equals("TECNICO")
											|| sist.getLogins().getTipoUsuario().equals("AUDITORIA"))
									{
										Container d=getContentPane();
										JOptionPane.showMessageDialog(d,"No tiene acceso","Error",JOptionPane.ERROR_MESSAGE);
									}else
									{
										BajaTecnicoFrame a = new BajaTecnicoFrame();
										a.setLocationRelativeTo(null);
										dispose();
									}
								}
							});
						}
						{
							sep = new JSeparator();
							mnAdmT.add(sep);
						}
						{
							mnModTec = new JMenuItem();
							mnAdmT.add(mnModTec);
							mnModTec.setText("Modificar");
							mnModTec.addActionListener(new ActionListener() {
								public void actionPerformed(ActionEvent evt) {
									
									if(sist.getLogins().getTipoUsuario().equals("GUARDIA") || sist.getLogins().getTipoUsuario().equals("TECNICO")
											|| sist.getLogins().getTipoUsuario().equals("AUDITORIA"))
									{
										Container d=getContentPane();
										JOptionPane.showMessageDialog(d,"No tiene acceso","Error",JOptionPane.ERROR_MESSAGE);
									}else
									{
										ModTecnicoFrame a = new ModTecnicoFrame();
										a.setLocationRelativeTo(null);
										dispose();
									}
								}
							});
						}
					}
					{
						mnMov = new JMenu();
						menuBar.add(mnMov);
						mnMov.setText("Movimientos");
						{
							mnRegisMov = new JMenuItem();
							mnMov.add(mnRegisMov);
							mnRegisMov.setText("Registrar");
							mnRegisMov.addActionListener(new ActionListener() {
								public void actionPerformed(ActionEvent evt) {
									
									if(sist.getLogins().getTipoUsuario().equals("TECNICO")
											|| sist.getLogins().getTipoUsuario().equals("AUDITORIA"))
									{
										Container d=getContentPane();
										JOptionPane.showMessageDialog(d,"No tiene acceso","Error",JOptionPane.ERROR_MESSAGE);
									}else
									{
										RegisMovFrame a = new RegisMovFrame();
										a.setLocationRelativeTo(null);
										dispose();
									}
									
								}
							});
						}
					}
					{
						mnMant = new JMenu();
						menuBar.add(mnMant);
						mnMant.setText("Mantenimiento");
						{
							mnGenMant = new JMenuItem();
							mnMant.add(mnGenMant);
							mnGenMant.setText("Generar");
							mnGenMant.addActionListener(new ActionListener() {
								public void actionPerformed(ActionEvent evt) {
									
									if(sist.getLogins().getTipoUsuario().equals("GUARDIA") || sist.getLogins().getTipoUsuario().equals("AUDITORIA"))
									{
										Container d=getContentPane();
										JOptionPane.showMessageDialog(d,"No tiene acceso","Error",JOptionPane.ERROR_MESSAGE);
									}else
									{
										GenMantFrame a = new GenMantFrame();
										a.setLocationRelativeTo(null);
										dispose();
									}
								}
							});
						}
						{
							sep = new JSeparator();
							mnMant.add(sep);
						}
						{
							mnAutMant = new JMenuItem();
							mnMant.add(mnAutMant);
							mnAutMant.setText("Autorizar");
							mnAutMant.addActionListener(new ActionListener() {
								public void actionPerformed(ActionEvent evt) {
									
									if(sist.getLogins().getTipoUsuario().equals("GUARDIA") || sist.getLogins().getTipoUsuario().equals("TECNICO")
											|| sist.getLogins().getTipoUsuario().equals("AUDITORIA"))
									{
										Container d=getContentPane();
										JOptionPane.showMessageDialog(d,"No tiene acceso","Error",JOptionPane.ERROR_MESSAGE);
									}else
									{
										AutMantFrame a = new AutMantFrame();
										a.setLocationRelativeTo(null);
										dispose();
									}
								}
							});
						}
					}
					{
						mnReports = new JMenu();
						menuBar.add(mnReports);
						mnReports.setText("Reportes");
						{
							mnGenRep = new JMenuItem();
							mnReports.add(mnGenRep);
							mnGenRep.setText("Generar");
							mnGenRep.addActionListener(new ActionListener() {
								public void actionPerformed(ActionEvent evt) {
									
									if(sist.getLogins().getTipoUsuario().equals("GUARDIA") || sist.getLogins().getTipoUsuario().equals("TECNICO"))
									{
										Container d=getContentPane();
										JOptionPane.showMessageDialog(d,"No tiene acceso","Error",JOptionPane.ERROR_MESSAGE);
									}else
									{
										GenRepFrame a = new GenRepFrame();
										a.setLocationRelativeTo(null);
										dispose();
									}
								}
							});
						}
					}
				}
				pack();
				this.setSize(700, 400);
				setVisible(true);
			} catch (Exception e) 
			{
			    //add your error handling code here
				e.printStackTrace();
			}
	}
}


